home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / engrave / engrave_part.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  4KB  |  106 lines

  1. #ifndef ENGRAVE_PART_H
  2. #define ENGRAVE_PART_H
  3.  
  4. /**
  5.  * @file engrave_part.h Engrave_Part object functions.
  6.  * @brief Contains all functions to maniuplate the Engrave_Part object.
  7.  */
  8.  
  9. /**
  10.  * @defgroup Engrave_Part Engrave_Part: Functions to work with part objects
  11.  *
  12.  * @{
  13.  */
  14.  
  15. /**
  16.  * The Engrave_Part typedef 
  17.  */
  18. typedef struct _Engrave_Part Engrave_Part;
  19.  
  20. /**
  21.  * All values needed to define a part 
  22.  */
  23. struct _Engrave_Part
  24. {
  25.   char *name;                   /**< The part name */
  26.   Engrave_Part_Type type;       /**< The part type */
  27.   Engrave_Text_Effect effect;   /**< The parts text effect */
  28.   int mouse_events;             /**< The mouse events flag */
  29.   int repeat_events;            /**< The repeat events flag */
  30.   char *clip_to;                /**< The part to clip too */
  31.  
  32.   /**
  33.    * The dragable settings for the part 
  34.    */
  35.   struct
  36.   {
  37.     signed char x; /**< Can drag in x direction */
  38.     signed char y; /**< Can drag in y direction */
  39.  
  40.     /**
  41.      * The step and count values for the dragable
  42.      */
  43.     struct
  44.     {
  45.       int x;    /**< The x value */
  46.       int y;    /**< The y value */
  47.     } step, count; 
  48.     char *confine;  /**< The confine setting for the dragable */
  49.  
  50.   } dragable;
  51.  
  52.   Evas_List *states;    /**< The list of states assocated with the part */
  53.   Engrave_Part_State *current_state; /**< The current state */
  54.  
  55.   void *parent;    /**< Pointer to parent */
  56. };
  57.  
  58. Engrave_Part * engrave_part_new(Engrave_Part_Type type);
  59. void engrave_part_free(Engrave_Part *ep);
  60.  
  61. void engrave_part_parent_set(Engrave_Part *ep, void *eg);
  62. void *engrave_part_parent_get(Engrave_Part *ep);
  63.  
  64. void engrave_part_current_state_set(Engrave_Part *ep, 
  65.                                     Engrave_Part_State *eps);
  66. Engrave_Part_State *engrave_part_current_state_get(Engrave_Part *ep);
  67.  
  68. void engrave_part_name_set(Engrave_Part *ep, const char *name);
  69. void engrave_part_mouse_events_set(Engrave_Part *ep, int val);
  70. void engrave_part_repeat_events_set(Engrave_Part *ep, int val);
  71. void engrave_part_type_set(Engrave_Part *ep, Engrave_Part_Type type);
  72. void engrave_part_effect_set(Engrave_Part *ep, Engrave_Text_Effect effect);
  73. void engrave_part_clip_to_set(Engrave_Part *ep, const char *clip_to);
  74.  
  75. Engrave_Part_State *engrave_part_state_last_get(Engrave_Part *ep);
  76.  
  77. void engrave_part_dragable_x_set(Engrave_Part *ep, int x, int step, int count);
  78. void engrave_part_dragable_y_set(Engrave_Part *ep, int y, int step, int count);
  79. void engrave_part_dragable_confine_set(Engrave_Part *ep, const char *confine);
  80. void engrave_part_state_add(Engrave_Part *ep, Engrave_Part_State *eps);
  81. Engrave_Part_State * engrave_part_state_by_name_value_find(Engrave_Part *ep, 
  82.                                             const char *name, double val);
  83.  
  84. const char *engrave_part_name_get(Engrave_Part *ep);
  85. Engrave_Part_Type engrave_part_type_get(Engrave_Part *ep);
  86. int engrave_part_mouse_events_get(Engrave_Part *ep);
  87. int engrave_part_repeat_events_get(Engrave_Part *ep);
  88. Engrave_Text_Effect engrave_part_effect_get(Engrave_Part *ep);
  89. const char *engrave_part_clip_to_get(Engrave_Part *ep);
  90. void engrave_part_dragable_x_get(Engrave_Part *ep, int *x, int *step, int *count);
  91. void engrave_part_dragable_y_get(Engrave_Part *ep, int *y, int *step, int *count);
  92. const char *engrave_part_dragable_confine_get(Engrave_Part *ep);
  93.  
  94. int engrave_part_states_count(Engrave_Part *ep);
  95.  
  96. void engrave_part_state_foreach(Engrave_Part *ep, 
  97.                     void (*func)(Engrave_Part_State *, Engrave_Part *, void *),
  98.                     void *data);
  99.  
  100. /**
  101.  * @}
  102.  */
  103.  
  104. #endif
  105.  
  106.